1. Field of the Invention
The present invention relates to controlling congestion in a Signaling System 7 (SS7) node of a Common Channel Interoffice Signaling (CCIS) network.
2. Description of the Related Art
Common Channel Interoffice Signaling (CCIS) networks provide out of band signaling for telecommunications networks such as public switched telephone networks. Most of the signaling communications for telephone networks utilize Signaling System 7 (SS7) protocol. An exemplary SS7 compliant CCIS network includes Service Switching Points (SSPs) (i.e., an SS7 capable telephony switch), Signaling Transfer Points (STPs), and data links between the STPs and SSPs and various telephone switching offices of the network.
SS7 messages (also referred to as signal units) are routed throughout the SS7 network based on point codes specified within the SS7 message. In particular, each node of the signaling network is assigned a prescribed point code for purposes of addressing signaling messages throughout the SS7 network. The point code includes components that represent a network hierarchy based on the protocol being deployed.
Congestion is one problem typically encountered by an outbound link of an SS7 signaling network node, where the SS7 signaling message traffic for the outbound link exceeds the maximum prescribed bandwidth (e.g., 64 kbps) for that outbound link. Existing SS7 protocols specify congestion control mechanisms used to alleviate the congestion encountered by an SS7 signaling network node. In particular, the American National Standards Institute (ANSI) and the International Telecommunication Union (ITU) each specify that congestion control can be accomplished by defining congestion onset and abatement thresholds as increasing percentages of the outbound link queue (see, e.g., ANSI T1.111 and ITU Q.704). For example, if a message signal unit (MSU) queued for transmission on the outbound link causes the buffer occupancy of the outbound link queue to increase beyond a given congestion onset threshold (e.g., congestion threshold “n”), then the outbound link is deemed by the SS7 signaling network node to have a congestion level “n”. The SS7 signaling network node (i.e., the “congested node”) in response sends a Transfer Controlled (TFC) message to the originator of the MSU (i.e., the “originating node”) as identified by the originating point code, indicating the current congestion level.
The originating node, in response to receiving the TFC message: marks in its routing table that the destination point code assigned to the congested node has a congestion status “n”; stops outputting to the congested node MSUs having a priority less than the congestion status; and starts a routeset congestion test procedure including periodically sending a routeset congestion test (RCT) message to the destination point code of the congested node. If the congested node detects that the congestion condition persists in response to receipt of the RCT message, the congested node sends another TFC message to the originating node. If the originating node receives no further TFC messages after having sent the RCT message, indicating abatement of the congestion condition, the originating node updates its routing table with the next lower congestion status (e.g., “n−1”), and repeats the procedure until the congestion status equals zero.
A particular concern is that the congestion detection mechanism in a conventional SS7 signaling network node determines congestion solely based on buffer occupancy of the outbound link. In particular, the congested node receives signaling messages (e.g., MSUs) from many different originating nodes, and signaling messages received from originating nodes after the onset of congestion cause the congested node to send TFCs back to those originating nodes. However, the onset of congestion may be due to a relatively large amount of traffic from a small group of the originating nodes, or possibly a single originating node sending a substantially large amount of MSUs over a prescribed interval (e.g., 40-60 MSUs per second).
Hence, the output of TFCs to all the originating nodes, regardless of the source of the congestion condition, may unfairly penalize originating nodes that did not contribute to the congestion condition. In addition, the transmission of TFCs to originating nodes that did not contribute to the congestion condition further wastes bandwidth resources on the signaling links.